package com.dzm.demo.myshop.commons.persistence;

import com.dzm.demo.myshop.commons.dto.BaseResult;

import java.util.List;

/**
 * 通用的树形结构接口
 *
 *@author:LeoDang
 *@date:2019/5/1
 *@version 1.0.0
 */
public interface BaseTreeService<T extends BaseEntity> {
    /**
     * 查询全部数据
     * @return
     */
    List<T> selectAll();

    /**
     * 新增
     * @param entity
     */
    BaseResult save(T entity);

    /**
     * 删除用
     * @param id
     */
    void delete(Long id);

    /**
     * 根据ID查询信息
     * @param id
     * @return
     */
    T getById(Long id);

    /**
     * 更新信息
     * @param entity
     */
    void update(T entity);

    /**
     * 根据父级节点ID查询子节点
     * @param pid
     * @return
     */
    List<T> selectByPid(Long pid);
}
